package com.ims.core.doc.domain;

import java.math.BigDecimal;
import com.ims.common.annotation.Excel;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 增值税发票报账单查询对象 t_in_accounting_query_invoice
 *
 * @author IMS
 * @date 2024-12-03
 */
public class TInAccountingQueryInvoice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 报账单ID */
    @Excel(name = "报账单ID")
    private String accountId;

    /** 客户ID */
    @Excel(name = "客户ID")
    private String custId;

    /** 客户公司代码 */
    private String siteCode;

    /** 客户公司 */
    @Excel(name = "客户公司")
    private String siteName;

    /** 税号 */
    @Excel(name = "税号")
    private String taxNo;

    /** 报账单号 */
    @Excel(name = "报账单号")
    private String accountingNo;

    /** 凭证号 */
    @Excel(name = "凭证号")
    private String voucherNo;

    /** 发票代码 */
    @Excel(name = "发票代码")
    private String invoiceCode;

    /** 发票号码 */
    @Excel(name = "发票号码")
    private String invoiceNumber;

    /** 全电纸发票号码 */
    @Excel(name = "全电纸发票号码")
    private String einvoiceNumber;

    /** 发票类型代码 */
    @Excel(name = "发票类型代码")
    private String invoiceType;

    /** 发票类型 */
    @Excel(name = "发票类型")
    private String invoiceTypeName;

    /** 开票日期 */
    @Excel(name = "开票日期")
    private String billingDate;

    /** 发票状态代码 */
    @Excel(name = "发票状态代码")
    private String state;

    /** 发票状态 */
    @Excel(name = "发票状态")
    private String stateName;

    /** 购方税号 */
    @Excel(name = "购方税号")
    private String purchaserTaxNo;

    /** 合计金额 */
    @Excel(name = "合计金额")
    private BigDecimal totalAmount;

    /** 合计税额 */
    @Excel(name = "合计税额")
    private BigDecimal totalTax;

    /** 销方税号 */
    @Excel(name = "销方税号")
    private String salesTaxNo;

    /** 销方名称 */
    @Excel(name = "销方名称")
    private String salesTaxName;

    /** 认证状态代码 */
    private Integer invConfirmStatus;

    /** 认证状态 */
    @Excel(name = "认证状态")
    private String invConfirmStatusName;

    /** 认证结果代码 */
    private Integer invDeduResult;

    /** 认证结果 */
    @Excel(name = "认证结果")
    private String invDeduResultName;

    /** 认证日期 */
    @Excel(name = "认证日期")
    private String deductibleDate;

    /** 认证税款所属期 */
    @Excel(name = "认证税款所属期")
    private String deductiblePeriod;

    /** 是否代办退税代码 */
    private Integer isAgencyRebate;

    /** 是否代办退税 */
    @Excel(name = "是否代办退税")
    private String isAgencyRebateName;

    /** 认证类型代码 */
    private Integer certificationType;

    /** 认证类型 */
    @Excel(name = "认证类型")
    private String certificationTypeName;

    /** 认证方式代码 */
    private Integer certificationWay;

    /** 认证方式 */
    @Excel(name = "认证方式")
    private String certificationWayName;

    /** 查验结果代码 */
    private Integer accountingCheckStatus;

    /** 查验结果 */
    @Excel(name = "查验结果")
    private String accountingCheckStatusName;

    /** 合规结果代码 */
    private Integer complianceCheckStatus;

    /** 合规结果 */
    @Excel(name = "合规结果")
    private String complianceCheckStatusName;

    /** 使用金额 */
    @Excel(name = "使用金额")
    private BigDecimal amountUse;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setAccountId(String accountId)
    {
        this.accountId = accountId;
    }

    public String getAccountId()
    {
        return accountId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }
    public void setTaxNo(String taxNo)
    {
        this.taxNo = taxNo;
    }

    public String getTaxNo()
    {
        return taxNo;
    }
    public void setAccountingNo(String accountingNo)
    {
        this.accountingNo = accountingNo;
    }

    public String getAccountingNo()
    {
        return accountingNo;
    }
    public void setVoucherNo(String voucherNo)
    {
        this.voucherNo = voucherNo;
    }

    public String getVoucherNo()
    {
        return voucherNo;
    }
    public void setInvoiceCode(String invoiceCode)
    {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceCode()
    {
        return invoiceCode;
    }
    public void setInvoiceNumber(String invoiceNumber)
    {
        this.invoiceNumber = invoiceNumber;
    }

    public String getInvoiceNumber()
    {
        return invoiceNumber;
    }
    public void setEinvoiceNumber(String einvoiceNumber)
    {
        this.einvoiceNumber = einvoiceNumber;
    }

    public String getEinvoiceNumber()
    {
        return einvoiceNumber;
    }
    public void setInvoiceType(String invoiceType)
    {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceType()
    {
        return invoiceType;
    }
    public void setInvoiceTypeName(String invoiceTypeName)
    {
        this.invoiceTypeName = invoiceTypeName;
    }

    public String getInvoiceTypeName()
    {
        return invoiceTypeName;
    }
    public void setBillingDate(String billingDate)
    {
        this.billingDate = billingDate;
    }

    public String getBillingDate()
    {
        return billingDate;
    }
    public void setState(String state)
    {
        this.state = state;
    }

    public String getState()
    {
        return state;
    }
    public void setStateName(String stateName)
    {
        this.stateName = stateName;
    }

    public String getStateName()
    {
        return stateName;
    }
    public void setPurchaserTaxNo(String purchaserTaxNo)
    {
        this.purchaserTaxNo = purchaserTaxNo;
    }

    public String getPurchaserTaxNo()
    {
        return purchaserTaxNo;
    }
    public void setTotalAmount(BigDecimal totalAmount)
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount()
    {
        return totalAmount;
    }
    public void setTotalTax(BigDecimal totalTax)
    {
        this.totalTax = totalTax;
    }

    public BigDecimal getTotalTax()
    {
        return totalTax;
    }
    public void setSalesTaxNo(String salesTaxNo)
    {
        this.salesTaxNo = salesTaxNo;
    }

    public String getSalesTaxNo()
    {
        return salesTaxNo;
    }
    public void setSalesTaxName(String salesTaxName)
    {
        this.salesTaxName = salesTaxName;
    }

    public String getSalesTaxName()
    {
        return salesTaxName;
    }
    public void setInvConfirmStatus(Integer invConfirmStatus)
    {
        this.invConfirmStatus = invConfirmStatus;
    }

    public Integer getInvConfirmStatus()
    {
        return invConfirmStatus;
    }
    public void setInvConfirmStatusName(String invConfirmStatusName)
    {
        this.invConfirmStatusName = invConfirmStatusName;
    }

    public String getInvConfirmStatusName()
    {
        return invConfirmStatusName;
    }
    public void setInvDeduResult(Integer invDeduResult)
    {
        this.invDeduResult = invDeduResult;
    }

    public Integer getInvDeduResult()
    {
        return invDeduResult;
    }
    public void setInvDeduResultName(String invDeduResultName)
    {
        this.invDeduResultName = invDeduResultName;
    }

    public String getInvDeduResultName()
    {
        return invDeduResultName;
    }
    public void setDeductibleDate(String deductibleDate)
    {
        this.deductibleDate = deductibleDate;
    }

    public String getDeductibleDate()
    {
        return deductibleDate;
    }
    public void setDeductiblePeriod(String deductiblePeriod)
    {
        this.deductiblePeriod = deductiblePeriod;
    }

    public String getDeductiblePeriod()
    {
        return deductiblePeriod;
    }
    public void setIsAgencyRebate(Integer isAgencyRebate)
    {
        this.isAgencyRebate = isAgencyRebate;
    }

    public Integer getIsAgencyRebate()
    {
        return isAgencyRebate;
    }
    public void setIsAgencyRebateName(String isAgencyRebateName)
    {
        this.isAgencyRebateName = isAgencyRebateName;
    }

    public String getIsAgencyRebateName()
    {
        return isAgencyRebateName;
    }
    public void setCertificationType(Integer certificationType)
    {
        this.certificationType = certificationType;
    }

    public Integer getCertificationType()
    {
        return certificationType;
    }
    public void setCertificationTypeName(String certificationTypeName)
    {
        this.certificationTypeName = certificationTypeName;
    }

    public String getCertificationTypeName()
    {
        return certificationTypeName;
    }
    public void setCertificationWay(Integer certificationWay)
    {
        this.certificationWay = certificationWay;
    }

    public Integer getCertificationWay()
    {
        return certificationWay;
    }
    public void setCertificationWayName(String certificationWayName)
    {
        this.certificationWayName = certificationWayName;
    }

    public String getCertificationWayName()
    {
        return certificationWayName;
    }
    public void setAccountingCheckStatus(Integer accountingCheckStatus)
    {
        this.accountingCheckStatus = accountingCheckStatus;
    }

    public Integer getAccountingCheckStatus()
    {
        return accountingCheckStatus;
    }
    public void setAccountingCheckStatusName(String accountingCheckStatusName)
    {
        this.accountingCheckStatusName = accountingCheckStatusName;
    }

    public String getAccountingCheckStatusName()
    {
        return accountingCheckStatusName;
    }
    public void setComplianceCheckStatus(Integer complianceCheckStatus)
    {
        this.complianceCheckStatus = complianceCheckStatus;
    }

    public Integer getComplianceCheckStatus()
    {
        return complianceCheckStatus;
    }
    public void setComplianceCheckStatusName(String complianceCheckStatusName)
    {
        this.complianceCheckStatusName = complianceCheckStatusName;
    }

    public String getComplianceCheckStatusName()
    {
        return complianceCheckStatusName;
    }
    public void setAmountUse(BigDecimal amountUse)
    {
        this.amountUse = amountUse;
    }

    public BigDecimal getAmountUse()
    {
        return amountUse;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("accountId", getAccountId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("taxNo", getTaxNo())
            .append("accountingNo", getAccountingNo())
            .append("voucherNo", getVoucherNo())
            .append("invoiceCode", getInvoiceCode())
            .append("invoiceNumber", getInvoiceNumber())
            .append("einvoiceNumber", getEinvoiceNumber())
            .append("invoiceType", getInvoiceType())
            .append("invoiceTypeName", getInvoiceTypeName())
            .append("billingDate", getBillingDate())
            .append("state", getState())
            .append("stateName", getStateName())
            .append("purchaserTaxNo", getPurchaserTaxNo())
            .append("totalAmount", getTotalAmount())
            .append("totalTax", getTotalTax())
            .append("salesTaxNo", getSalesTaxNo())
            .append("salesTaxName", getSalesTaxName())
            .append("invConfirmStatus", getInvConfirmStatus())
            .append("invConfirmStatusName", getInvConfirmStatusName())
            .append("invDeduResult", getInvDeduResult())
            .append("invDeduResultName", getInvDeduResultName())
            .append("deductibleDate", getDeductibleDate())
            .append("deductiblePeriod", getDeductiblePeriod())
            .append("isAgencyRebate", getIsAgencyRebate())
            .append("isAgencyRebateName", getIsAgencyRebateName())
            .append("certificationType", getCertificationType())
            .append("certificationTypeName", getCertificationTypeName())
            .append("certificationWay", getCertificationWay())
            .append("certificationWayName", getCertificationWayName())
            .append("accountingCheckStatus", getAccountingCheckStatus())
            .append("accountingCheckStatusName", getAccountingCheckStatusName())
            .append("complianceCheckStatus", getComplianceCheckStatus())
            .append("complianceCheckStatusName", getComplianceCheckStatusName())
            .append("amountUse", getAmountUse())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
